In typical networking systems, the high speeds of data processors surpass the technological means for distributing the data within the network. In other words, the processors are generating data at a rate that exceeds the ability of the network to process that data. Typical network systems process streaming data over a set of interfaces. Each interface has a capacity for handling only a portion of the data that is moved through the system. A need exists for an efficient system and method for dividing the data streams across the interfaces, and through the network, to accommodate for the reduction in the effective rate at which data can be processed through the network routers.
One approach for dividing the data streams, where there are a number of separate data channels, is to dedicate certain channels of data to be transferred across certain interfaces. However, especially for network systems that can route data at the channel level, this requires that as a part of the routing process, each router needs access to all of the possible input data. If there are three separate interfaces, for example, there would likely be three routers, and each router must interchange its data with the data from other routers. This leads to additional interconnect. As the number of interfaces increases, the interconnect required quickly becomes unmanageable.
Further, when the network routing function is performed with devices such as field programmable gate arrays (“FPGAs”), each FPGA would require hundreds of extra pins to send and receive data from the other FPGA network routers. The FPGAs would also require additional internal logic to manage those interfaces. In addition, each FPGA has an associated routing table. In connection with this division of the data streams, wherein each FPGA network router is only responsible for routing a subset of the total data channels, the routing tables would become complex, and need to be different for each FPGA network router.
Because data distribution technology typically lags behind data processing technology, there exists a need to efficiently divide up data, using a minimum amount of internal circuitry, bandwidth and interconnects.
The present system and method solves these and other problems by providing time segmentation data sampling. Such sampling occurs by transferring the data for a particular time segment across each interface. By transmitting the data for a certain time segment over each interface, there is no longer a need for network routers to interchange data with each other, because each router has access to all of the data. Thus the interconnect between the routers can be removed. In addition, the configuration of the routing tables is simplified because each network router can route data in the same way. Further, by eliminating the number of pins that had been dedicated to inter-network router data exchange, the number of interfaces supported by each router can be increased, which can improve total system bandwidth and redundancy.